﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;

namespace ModeloNegocio
{
    public static class CapaDeNegocioProducto
    {
        public static List<Producto> Productos
        {
            get
            {
                List<Producto> listaProductos = new List<Producto>();


            /*
             * 
             * CREAR EN LA BASE DE DATOS:
             * 
             * El Store Procedure: SELECT * FROM Producto
             */
                SqlDataReader rdr = ConexionBaseDatos.obtenerReaderStoreProcedure("spObtenerListaProductos", null);

            /*
             * 
             * 
             * ----------------------------------------------------------------- 
             *            
             */
                while (rdr.Read())
                {
                    Producto producto = new Producto();

                    producto.IdProducto = Convert.ToInt32(rdr["IdProducto"]);
                    producto.NombreProducto = Convert.ToString(rdr["NombreProducto"]);
                    producto.FechaComienzo = Convert.ToDateTime(rdr["FechaComienzo"]);
                    producto.DescripcionProducto = Convert.ToString(rdr["DescripcionProducto"]);
                    producto.IdTipoProducto = Convert.ToInt32(rdr["idTipoProducto"]);
                    producto.Precio = Convert.ToInt32(rdr["Precio"]);
                    producto.Stock = Convert.ToInt32(rdr["Stock"]);
                    
                    listaProductos.Add(producto);
                }

                
                

                return listaProductos;
            }
        }


        public static List<Producto> buscarProductos(string nombreBusquedaProductos)
        {
            List<Producto> listaProductos = new List<Producto>();

            List<SqlParameter> listaParametros = new List<SqlParameter>();

            SqlParameter param = new SqlParameter();
            param.ParameterName = "@nombreBusquedaProductos";
            param.Value = nombreBusquedaProductos;

            listaParametros.Add(param);

            /*
             * 
             * CREAR EN LA BASE DE DATOS:
             * 
             * El Store Procedure: SELECT * FROM Producto where NombreProducto like "%@nombreBusquedaProductos%" or  DescripcionProducto like "%@nombreBusquedaProductos%"
             */
            SqlDataReader rdr = ConexionBaseDatos.obtenerReaderStoreProcedure("spBuscarProductos",listaParametros);
            /*
             * 
             * 
             * ----------------------------------------------------------------- 
             *       
             */

            

            return listaProductos;

        }
    }
}
